Micron Document
<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 skin-theme-clientpref-day vector-sticky-header-enabled" lang="de" dir="ltr"><head>
<meta charset="UTF-8">
<title>BASCOM</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="./_res_/favicon.png">
<link rel="canonical" href="https://de.wikipedia.org/wiki/BASCOM"> <link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link href="./_mw_/ext.gadget.citeRef.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.defaultPlainlinks.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonHide.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonLayout.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonStyle.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiDarkmode.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiResponsive.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.specialSearch.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
<link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
<link rel="stylesheet" type="text/css" href="./_res_/footer.css">
<link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-BASCOM rootpage-BASCOM skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">BASCOM</span></h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="contentSub">
<div id="mw-content-subtitle"></div>
</div>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="de" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="de" dir="ltr">

<p><b>BASCOM</b>, für <i><b>BAS</b>IC <b>com</b>piler</i> stehend, ist eine von Mark Alberts entwickelte Familie von <a href="Cross-Compiler" title="Cross-Compiler">Cross-Compilern</a>, die <a href="BASIC" title="BASIC">BASIC</a> mitsamt einigen proprietären Erweiterungen in ausführbare <a href="Maschinensprache" title="Maschinensprache">Maschinensprache</a> für mehrere <a href="Prozessorarchitektur" title="Prozessorarchitektur">Prozessorarchitekturen</a> für <a href="Eingebettetes_System" title="Eingebettetes System">eingebettete Systeme</a> übersetzen kann. Unterstützt werden <a href="Mikrocontroller" title="Mikrocontroller">Mikrocontroller</a> der <a href="Atmel_AVR" class="mw-redirect" title="Atmel AVR">AVR-Architektur</a> und die <a href="MCS-51" class="mw-redirect" title="MCS-51">MCS-51</a>-Familie. Die Cross-Compiler laufen unter <a href="Microsoft_Windows" title="Microsoft Windows">Microsoft Windows</a> und bieten neben der reinen Übersetzungsfunktion auch noch eine Entwicklungsumgebung und <a href="Emulator" title="Emulator">Emulatoren</a> der jeweiligen Zielsysteme, die das Testen unter dem Entwicklungssystem erlauben. Ferner stehen Schnittstellen zur Verfügung, die es ermöglichen, den erzeugten Code in die Zielsysteme zu übertragen. Die Cross-Compiler sind nur kommerziell erhältlich. Eine kostenfrei erhältliche Demoversion ist dahingehend eingeschränkt, dass der erzeugte Code nur maximal einen Umfang von vier <a href="Byte" title="Byte">Kilobyte</a> haben darf. Ansonsten ist die Demo voll funktionsfähig, womit die Bascom-Demoversion somit für einige der kleineren Atmel-Microcontroller (z.&nbsp;B. ATtiny) ausreichend ist, da diese sowieso nur einen kleinen Programmspeicher haben.
</p><p>BASCOM unterstützt zahlreiche proprietäre Erweiterungen, die den speziellen Anforderungen bei eingebetteten Systemen gerecht werden. Der gegenüber einfacheren BASIC-Varianten deutlich erweiterte Satz elementarer Datentypen umfasst einzelne Bits, die auch als solche repräsentiert werden, ganze Zahlen mit 1, 2 oder 4 Bytes, sowohl mit als auch ohne <a href="Vorzeichen_(Zahl)" title="Vorzeichen (Zahl)">Vorzeichen</a> und <a href="Gleitkommazahl" title="Gleitkommazahl">Gleitkommazahlen</a> mit 32 oder 64 Bit entsprechend dem Standard <a href="IEEE_754" title="IEEE 754">IEEE 754</a>. Die Deklaration von <a href="Feld_(Datentyp)" class="mw-redirect" title="Feld (Datentyp)">Arrays</a> mit einem elementaren Datentyp ist möglich. Eine spezielle Variante der Arrays sind die ebenfalls bei der Deklaration fest zu dimensionierenden <a href="Zeichenkette" title="Zeichenkette">Zeichenketten</a>, die implizit durch ein Byte mit dem Wert 0 terminiert werden.
</p><p>Da die Zielarchitekturen Gleitkommazahlen selbst nicht unterstützen, erfolgt dies durch eine zu BASCOM gehörende Bibliothek, die insbesondere auch die trigonometrischen Funktionen abdeckt. Die Bibliothek umfasst außerdem für die mehr Speicherplatz bietende AVR-Architektur die Unterstützung von <a href="TCP/IP-Referenzmodell" class="mw-redirect" title="TCP/IP-Referenzmodell">TCP/IP</a>-Sockets und die Ausgabe auf <a href="Fl%C3%BCssigkristallbildschirm" class="mw-redirect" title="Flüssigkristallbildschirm">Flüssigkristallbildschirmen</a>.
</p><p>Ferner ist die Einbettung von <a href="Assemblersprache" title="Assemblersprache">Assemblercode</a> in den BASIC-Programmtext möglich. Dies erfolgt entweder durch die Verwendung der entsprechenden Befehlsnamen der Maschinensprache, sofern sie nicht in Konflikt zu den bereits reservierten Wörtern stehen, oder durch das Einbetten der Assembler-Anweisungen in spezielle Schlüsselwörter. Um im Kontext der Maschinensprache direkt auf BASIC-Variablen zugreifen zu können, steht eine Anweisung zur Verfügung, welche die Adresse einer Variablen in ein <a href="Register_(Computer)" class="mw-redirect" title="Register (Computer)">Register</a> lädt.
</p>
<div class="mw-heading mw-heading2"><h2 id="Versionen">Versionen</h2></div>
<ul><li>BASCOM-AVR: BASIC-Compiler für die Mikrocontroller der Atmel AVR-Architektur</li>
<li>BASCOM-8051: BASIC-Compiler für die MCS-51 Familie von Mikrocontrollern</li>
<li>BASCOM-LT: Vorgängerversion von BASCOM-8051 speziell für AT89Cx051 Prozessoren, nicht mehr verfügbar.</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Literatur">Literatur</h2></div>
<ul><li><a href="Burkhard_Kainka" title="Burkhard Kainka">Burkhard Kainka</a>: <i>Basiskurs BASCOM-AVR</i>, 2011, ISBN 978-3-89576-238-3.</li>
<li>Stefan Hoffmann: <i>Einfacher Einstieg in die Elektronik mit AVR-Mikrocontroller und BASCOM</i>, 2010, ISBN 978-3-8391-8430-1.</li>
<li>Claus Kühnel: <i>Programmieren der AVR RISC Mikrocontroller mit BASCOM-AVR</i>. 3. Auflage, 2010, ISBN 978-3-907857-14-4.</li>
<li>Roland Walter: <i>AVR-Mikrocontroller-Lehrbuch</i>. 3. aktualisierte Auflage, 2009, ISBN 978-3-9811894-4-5.</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Weblinks">Weblinks</h2></div>
<ul><li><a rel="nofollow" class="external text" href="https://avrhelp.mcselec.com/index.html">BASCOM-Dokumentation für die AVR-Architektur</a></li>
<li><a rel="nofollow" class="external text" href="https://8051help.mcselec.com/index.html">BASCOM-Dokumentation für die 8051-Architektur</a></li>
<li><a rel="nofollow" class="external text" href="https://bascomforum.de/">Offizielle BASCOM-Website Deutsch.</a></li>
<li><a rel="nofollow" class="external text" href="https://www.mcselec.com/">Offizielle BASCOM-Website</a></li>
<li><a rel="nofollow" class="external text" href="https://halvar.at/elektronik/kleiner_bascom_avr_kurs/">BASCOM-Einstiegskurs</a></li>
<li><a rel="nofollow" class="external text" href="https://rn-wissen.de/wiki/index.php/Bascom">BASCOM-Befehlserläuterungen</a></li></ul></div><!--htdig_noindex--><div><div class="zim-footer">
Dieser Artikel wurde von <a class="external text" title="Zuletzt bearbeitet am 2025-09-13" href="https://de.wikipedia.org/wiki/?title=BASCOM&amp;oldid=259704687">Wikipedia</a> herausgegeben. Der Text ist unter <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.de">Creative Commons Attribution-Share Alike 4.0</a> verfügbar, sofern nicht anders angegeben. Für die Mediendateien können zusätzliche Bedingungen gelten.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
<script src="./_webp_/webpHandler.js"></script>

</body></html>